package beans;

import helpers.ProductoDTO;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;


@Stateless
public class ProductoService implements ProductoInterfaceR {
	
	//Entity Manager
	@PersistenceContext(unitName="CRM")
	private EntityManager manager;

	
   //constructor
    public ProductoService() {
    	        
    }
    
    
    public String holaMundo(){
    	return "Hola Mundo!";
    }
    
    
    //getProducto
    public ProductoDTO getProducto(int codigo){
    	ProductoEntity pE = recuperar(codigo);
    	if(pE == null)
    		return null;
		else{
	    	ProductoDTO p = new ProductoDTO();
	    	p.setCodigo(pE.getCodigo());
	    	p.setNombre(pE.getNombre());
	    	return p;   
		}
    }
    
        
    //guardarProducto
    public void guardarProducto(ProductoDTO p){
    	ProductoEntity pE = new ProductoEntity();
    	pE.setCodigo(p.getCodigo());
    	pE.setNombre(p.getNombre());
    	persistir(pE);
    }
   
    
    
    //******* DAO *******//
    
	//persistir
    private void persistir(ProductoEntity pE){
    	try{
    		manager.persist(pE);
    	}
    	catch(Exception e){
    		//--> NO ATRAPA LA EXCEPTION!!
    		System.err.println(e.getMessage());
    	}    	
    }
    
    
    //recuperar
    private ProductoEntity recuperar(int codigo){
    	return (manager.find(ProductoEntity.class, codigo));
    }
    
}
